#ifndef _ANIMATION_COMPONENT_H
#define _ANIMATION_COMPONENT_H

#include "..\Components\IComponent.h"
#include "..\Generic\GameTime.h"
#include "..\Managers\AnimationManager.h"

class AnimationComponent : public IComponent
	{
	public:
		virtual const std::string getType() { return "AnimationComponent"; }
		virtual const std::string getFamilyType() { return "AnimationComponent"; }

	public:
		AnimationComponent();
		AnimationComponent(const std::string& p_filepath);
		AnimationComponent(const std::string& p_filepath, const std::string& p_animationID);

		virtual ~AnimationComponent();

		void init();
		void update(const GameTime& p_gameTime);

		vn::AnimationManager* getAnimationManager() { return m_animationManager; }

		
		void loadAnimations(const std::string& p_filepath);
		void setAnimation(const std::string& p_animID);

	private:
		vn::AnimationManager* m_animationManager;
		
	};

#endif //_ANIMATION_COMPONENT_H